package com.photonpay.api.request;

import cn.hutool.http.Method;
import com.photonpay.api.response.PreRechargeResponse;
import lombok.Builder;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 换汇询价
 *
 * @author ：lo-
 * @date ：Created in 2023/12/6 14:47
 */
@Data
@Builder
public class PreRechargeRequest extends BaseRequest<PreRechargeResponse> {

    /**
     * 商户请求流水号，每笔交易的唯一请求号，不可重复。
     */
    private String requestId;

    /**
     * 每个账户的唯一ID号。您可在钱包接口中进行查询您的账户ID。
     */
    private String accountId;

    /**
     * 卡ID
     */
    private String cardId;

    /**
     * 充值金额，您想从币种钱包余额往卡里充值的资金。我们将为计算出最后实际到卡内的金额。充值金额和到账金额择一填写即可。
     */
    private BigDecimal rechargeAmount;

    /**
     * 到账金额，您希望充值到账金额是多少，我们将为您计算出需要扣取您所选钱包余额的金额。充值金额和到账金额择一填写即可。
     */
    private BigDecimal arrivalAmount;

    /**
     * 响应数据class
     *
     * @return 类
     */
    @Override
    public Class<PreRechargeResponse> getResponseClass() {
        return PreRechargeResponse.class;
    }

    /**
     * api基础path
     *
     * @return api名字
     */
    @Override
    public String getBasePath() {
        return "/vcc/open/v2/preRecharge";
    }

    /**
     * 请求方式
     *
     * @return get post
     */
    @Override
    public Method getMethod() {
        return Method.GET;
    }

    /**
     * 是否需要签名
     *
     * @return true = 需要
     */
    @Override
    public boolean isSign() {
        return false;
    }
}
